package com.dd.cloud.user.mapper.doctor;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.dd.cloud.common.vo.PageVo;
import com.dd.cloud.user.entity.doctor.BindReviewPresDoctor;
import com.dd.cloud.user.req.doctor.BindReviewPresDoctorApplyPageReq;
import com.dd.cloud.user.req.doctor.BindReviewPresDoctorListReq;
import com.dd.cloud.user.req.doctor.BindReviewPresPageReq;
import com.dd.cloud.user.res.doctor.BindReviewPresDoctorApplyPageRes;
import com.dd.cloud.user.res.doctor.BindReviewPresDoctorListRes;
import com.dd.cloud.user.res.doctor.BindReviewPresPageRes;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Lx
 * @version 1.0
 */
public interface BindReviewPresDoctorMapper extends BaseMapper<BindReviewPresDoctor> {
    /**
     * 无处方权医生 查询处方审核医生列表
     *
     * @param req
     * @return
     */
    List<BindReviewPresDoctorListRes> queryBindReviewPresDoctorList(@Param("req") BindReviewPresDoctorListReq req);

    /**
     * 查询审核处方单列表
     *
     * @param iPage
     * @param req
     * @return
     */
    PageVo<BindReviewPresPageRes> queryBindReviewPresPage(IPage<?> iPage, @Param("req") BindReviewPresPageReq req);

    /**
     * 查询审核处方单列表 扩展数据
     *
     * @param req
     * @return
     */
    BindReviewPresPageRes.BindReviewPresExtendRes queryBindReviewPresExtend(@Param("req") BindReviewPresPageReq req);

    /**
     * 有处方权医生 查询无处方权医生申请记录
     *
     * @param iPage
     * @param req
     * @return
     */
    PageVo<BindReviewPresDoctorApplyPageRes> queryBindReviewPresDoctorApplyPage(IPage<?> iPage, @Param("req") BindReviewPresDoctorApplyPageReq req);

    /**
     * 有处方权医生 查询无处方权医生申请记录 扩展数据
     *
     * @param req
     * @return
     */
    BindReviewPresDoctorApplyPageRes.BindReviewPresDoctorApplyExtendRes queryBindReviewPresDoctorApplyExtend(@Param("req") BindReviewPresDoctorApplyPageReq req);
}
